-module(tr_sup).
-behaviour(supervisor).

%% API
-export([start_link/0]).

%% Supervisor callbacks
-export([init/1]).

-define(SERVER, ?MODULE).

start_link() ->
    supervisor:start_link({local, ?SERVER}, ?MODULE, []).

init([]) ->
    Server = {tr_server, {tr_server, start_link, []}, 
                permanent, 2000, worker, [tr_server]},   
    %% 标志名 启动的指定  重启策略                                                 关闭方式                                工作类型 所依赖的模块
    %%                  permanent 关闭立即重启 temporary 关闭就不再启动了         infinity 向进程发送指令后等待进程自己关闭 
    %%                  transient 仅在出错时才重启                               brutal 立即关闭
    %%                                                                          秒数 一定秒数内不关闭立即结束
    Children = [Server],
    RestartStrategy = {one_for_one, 0, 1},          %% 0 1 代表不自动重启
    {ok, {RestartStrategy, Children}}.